<!DOCTYPE html>
<html lang="zh-cn">
<head>
    <meta charset="utf-8" />
    
        <title>GFW | X-Blog</title>
    

    <meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1"/>
<meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=no"/>
<meta name="format-detection" content="telephone=no">
<meta name="author" content="[object Object]" />
<meta name="designer" content="minfive" />
<meta name="keywords" content="Xiang blog, 程序员, SCI论文, Python, Hadoop, 深度炼丹"/>
<meta name="description" content="日常学习与兴趣交流的个人博客" />

<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="black" />
<meta name="format-detection" content="telephone=yes" />
<meta name="mobile-web-app-capable" content="yes" />
<meta name="robots" content="all" />

<link rel="canonical" href="https://spaces-x.github.io/2018/07/21/GFW/index.html">

<link rel="icon" type="image/png" href="https://www.easyicon.net/api/resizeApi.php?id=546977&size=32" sizes="32x32">














<!-- Prefetch -->






<!-- CSS -->
<link rel="stylesheet" href="/scss/base/index.css">

<!-- RSS -->
<link rel="alternate" href="/atom.xml" title="Space-X">

<!-- 统计 -->
<!-- 百度统计 -->


<!-- Global site tag (gtag.js) - Google Analytics -->


    
    
    <link rel="stylesheet" href="/scss/views/page/post.css">

</head>
<body ontouchstart>
    
        <!-- loading 页面 -->
<div id="page-loading" class="page page-loading" style="background-image: url('http://oo12ugek5.bkt.clouddn.com/blog/images/loader.gif')"></div>
    

    <div id="page" class="page js-hidden">
        
    <!-- 页头 -->
<header class="page__small-header page__header--small">
    <nav class="page__navbar">
        <div class="page__container navbar-container">
            <a class="page__logo" href="/" title="Space-X" alt="Space-X">
                <img src="https://s1.ax1x.com/2018/07/15/PMfvfP.png" alt="Space-X">
            </a>

            <nav class="page__nav">
                <ul class="nav__list clearfix">
                    
                        
                        <li class="nav__item">
                            <a href="/" alt="首页" title="首页">首页</a>
                        </li>
                    
                        
                        <li class="nav__item">
                            <a href="/archives" alt="归档" title="归档">归档</a>
                        </li>
                    
                        
                        <li class="nav__item">
                            <a href="/about" alt="关于" title="关于">关于</a>
                        </li>
                    
                </ul>
            </nav>

            <button class="page__menu-btn" type="button">
                <i class="iconfont icon-menu"></i>
            </button>
        </div>
    </nav>
</header>


        
    <main class="page__container page__main">
    <div class="page__content">
        <article class="page__post">
    <div class="post__cover">
        <img src="https://s1.ax1x.com/2018/07/21/P8Rysf.png" alt="GFW">
    </div>

    <header class="post__info">
        <h1 class="post__title">GFW</h1>

        <div class="post__mark">
            <div class="mark__block">
                <i class="mark__icon iconfont icon-write"></i>
                <ul class="mark__list clearfix">
                    <li class="mark__item">
                        <a href="https://www.github.com/spaces-x">WeiXiang</a>
                    </li>
                </ul>
            </div>
            
            <div class="mark__block">
                <i class="mark__icon iconfont icon-time"></i>
                <ul class="mark__list clearfix">
                    <li class="mark__item"><span>2018-07-21</span></li>
                </ul>
            </div>

            <div class="mark__block">
                <i class="mark__icon iconfont icon-tab"></i>
                <ul class="mark__list clearfix">
                    
                        <li class="mark__item">
                            <a href="/tags/Great-Firewall/">Great Firewall</a>
                        </li>
                    
                        <li class="mark__item">
                            <a href="/tags/shadowsocks/">Shadowsocks</a>
                        </li>
                    
                </ul>
            </div>

            
        </div>
    </header>

    <div class="post__content">
        <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=default"></script>


<h3 id="常规的-http-或者是-https-请求被墙-假设它没有被墙-的网站"><a href="#常规的-http-或者是-https-请求被墙-假设它没有被墙-的网站" class="headerlink" title="常规的 http 或者是 https 请求被墙(假设它没有被墙)的网站"></a>常规的 http 或者是 https 请求被墙(假设它没有被墙)的网站</h3><ol>
<li>首先你在浏览器里面键入 google.com, 然后回车</li>
<li>浏览器发起 DNS 请求获取 google.com 的 IP 地址(因为TCP连接必须要ip地址, 域名只是为了让人好记忆而发明出来的), DNS 服务器查询 google.com 的 IP 地址, 然后返回给浏览器.</li>
<li>浏览器拿到了 google.com 的IP地址, 然后向这个 IP 地址发起 TCP 连接, 三次握手之后连接成功.</li>
<li>然后到了 HTTP 协议的时间了, 浏览器向 google 的服务器发送 HTTP 请求头(因为此时 TCP 连接已经建立, 可以发送数据了), 请求头其实就是一段字符串.<figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br></pre></td><td class="code"><pre><span class="line">GET / HTTP/1.1</span><br><span class="line">Host: www.google.com</span><br><span class="line">User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.6)</span><br><span class="line">Gecko/20050225 Firefox/1.0.1</span><br><span class="line">Connection: Keep-Alive</span><br><span class="line">...</span><br></pre></td></tr></table></figure>
无论是 HTTP 请求还是加密的 HTTPS 请求, <strong>请求头都是不会被加密的</strong>.</li>
<li>google.com 收到请求头, 如果是 HTTPS 请求, 还要交换秘钥什么的, 这个就不解释了, 总之就是 google.com 把数据返回回来了.</li>
</ol>
<h3 id="在上述过程中墙的作用"><a href="#在上述过程中墙的作用" class="headerlink" title="在上述过程中墙的作用"></a>在上述过程中墙的作用</h3><ol>
<li>我们键入 google.com 的时候浏览器需要先发起 DNS 请求查询 google.com 的 IP 地址, 如果拿不到这个 IP 地址, 不就无法和 google.com 的真实 IP 地址通讯了吗, 所以 墙 的初期手段就是污染 DNS, AI, 浏览器任你发送 DNS 请求, 国内的 DNS 服务器就给你返回一个错误的 IP 地址, 什么冰岛的,什么澳大利亚的地址给你, 去访问吧, 浏览器很懵, 有可能这个 IP 地址压根就没有被绑定服务器, 然后服务器不可达. 但是 DNS 请求需要我们的浏览器发起, 既然 DNS 请求能被污染, 如果我自己知道正确的 google.com IP地址, 我来告诉浏览器正确的 IP 地址不就行了吗, 刚开始想要科学上网的人确实是这么做的, 在 window 系统 <code>C:\Windows\System32\drivers\etc</code> 该目录下面有一个 hosts 文件, Mac 系统下面的为 <code>/etc/hosts</code>, 如果操作系统能在这里获得关于域名的 IP 地址, 就不会向 DNS服务器发起请求了, 所以都赶忙去找 google.com 的真实 IP 地址填在这里来让操作系统不要去其他的 DNS 查询了. 这个时期应该是成功的度过了一段时间吧, 当然我没有经历过, 我想科学上网的时候 google.com 的 IP 地址已经被封了🧐.忘了一件事情, 因为 DNS 服务器在公网上面有很多, 而且都是免费的, 出名的 8.8.8.8 就是谷歌提供的, 你可以自己填写自己的操作系统的 DNS 地址, 应该有一段时期可以把 DNS 服务器修改为 8.8.8.8, 谷歌并不会返回错误的地址, 所以后来 8.8.8.8 也被墙了👽.</li>
<li>墙 继续升级, 既然你们能搞到真实的 google.com 的 IP 地址, 那我就把所有已知的 google.com 的 IP 地址全部封了, 但是 google.com 的服务器是可以换 IP 地址的, 你可以试一下, 多访问几次 google.com, 有可能是不相同的, 所以只是把已知的 google.com 服务器的 IP 地址封掉并不能完全的阻挡, 所以 墙 从 HTTP 协议入手了, HTTP 协议请求头的发送全部是明文的, <strong>无论是 HTTP, 还是 HTTPS, 请求头全部都是明文的, 请求头里面有 google.com</strong>, 这就很尴尬了, 这个域名没有办法隐藏, 墙 很开心, 好了, 所有经过我这里的数据包都要被拆开看看你访问的地址是不是违禁地址, 如果是的就不要继续了, 墙 会模拟 google.com 的服务器给你的电脑发送一个 RST TCP响应, 电脑的TCP协议看到这个响应就会无条件的重置连接, 所以你会看到有时候你能拿到正确的 google.com 的IP地址, 也会看到浏览器提示你连接被重置, 这时候的 RST 的响应可是墙发给你的, 是不是感觉很荣耀😀, 然后 墙 还会模仿客户端给 google.com 的服务器发送 RST 响应, google.com 以为是你发的, 也会无条件的关闭 TCP 连接</li>
</ol>
<h3 id="SS如何穿墙"><a href="#SS如何穿墙" class="headerlink" title="SS如何穿墙"></a>SS如何穿墙</h3><p>有一个代理协议叫做<code>socks5</code>, 可以帮助你穿透防火墙, 由<code>socks5</code>负责传递双方的数据<br>shadowsocks 把 socks5 拆成了两个部分</p>
<blockquote>
<p>client ——-&gt; ssclient ——&gt; ssserver ———&gt; server</p>
</blockquote>
<p>client 把数据传递给 ssclient, 这就是你为什么要把 socks5 客户端的地址要填写 ssclient 监听的地址, ssclient 把数据加密, 包括 DNS 请求什么的一切数据全部加密发送给 ssserver(并且 ss 没有握手阶段, 没有明显的数据特征能辨识这个是 ss 流量), ssserver 把数据解密拿到 client 想要访问的域名, 然后发起 DNS 请求获取 IP 地址(这也就是为什么你的 VPS 要放在国外的原因), 然后和这个 IP 地址握手, 然后服务器响应, ssserver 并不负责处理数据, 只是原样把数据加密回传给 ssclient, ssclient 解密数据然后传递给浏览器, 浏览器负责数据的辨识处理(因为 HTTPS 还需要进一步的握手).</p>
<h3 id="服务器的购买以及shadowsocks配置"><a href="#服务器的购买以及shadowsocks配置" class="headerlink" title="服务器的购买以及shadowsocks配置"></a>服务器的购买以及shadowsocks配置</h3><p><a href="http://blog.sina.com.cn/s/blog_17639fae00102xat4.html" target="_blank" rel="noopener">购买服务器</a><br>上面的连接包含搬瓦工的一键配置ss，但是这个自带的太low了好多加密模式它都没有这就造成容易被墙ip 采用下面的连接配置ss 或 ssr</p>
<p><a href="https://teddysun.com/486.html/comment-page-10" target="_blank" rel="noopener">配置shadowsocks server</a><br>这个教程中的脚本将各种shadowsocks的版本都集成好了，具体在安装的时候选择即可</p>
<p><a href="https://zhuanlan.zhihu.com/p/35147877" target="_blank" rel="noopener">加密模式的选择与shadowsocks客户端配置</a></p>


        
        <div class="post-announce">
            感谢您的阅读，本文由
            <a href="https://spaces-x.github.io">Space-X</a>
            版权所有。如若转载，请注明出处：Space-X（<a href="https://spaces-x.github.io/2018/07/21/GFW/">https://spaces-x.github.io/2018/07/21/GFW/</a>）
        </div>
        

        <div class="post__prevs">
            <div class="post__prev">
                
                <a href="/2018/07/16/hadoop/" title="Hadoop Day 1"><i class="iconfont icon-prev"></i>Hadoop Day 1</a>
                
            </div>
            <div class="post__prev post__prev--right">
                
                <a href="/2018/07/26/hadoop-d-2/" title="Hadoop Day 2">Hadoop Day 2<i class="iconfont icon-next"></i></a>
                
            </div>
        </div>
    </div>
</article>

        
        
    </div>

    <aside class="page__sidebar">
    <!-- 
        <div class="sidebar__img">
            <img src="https://s1.ax1x.com/2018/08/08/PsWmg1.jpg" alt="Space-X" title="Space-X">
        </div>
     -->

    <form id="page-search-from" class="page__search-from" action="/search/">
        <label class="search-form__item">
            <input class="input" type="text" name="search" placeholder="Search...">
            <i class="iconfont icon-search"></i>
        </label>
    </form>

    
        <div class="sidebar__block">
            <h3 class="block__title">简介</h3>
            <p class="block__text">日常学习与兴趣交流的个人博客</p>
        </div>
    

    <div class="sidebar__block">
        <h3 class="block__title">文章分类</h3>
        <ul class="block-list"><li class="block-list-item"><a class="block-list-link" href="/categories/计算机网络/">计算机网络</a><span class="block-list-count">1</span></li><li class="block-list-item"><a class="block-list-link" href="/categories/算法/">算法</a><span class="block-list-count">1</span></li><li class="block-list-item"><a class="block-list-link" href="/categories/游玩/">游玩</a><span class="block-list-count">1</span></li><li class="block-list-item"><a class="block-list-link" href="/categories/welcome/">welcome</a><span class="block-list-count">1</span></li><li class="block-list-item"><a class="block-list-link" href="/categories/java设计模式/">java设计模式</a><span class="block-list-count">1</span></li><li class="block-list-item"><a class="block-list-link" href="/categories/hadoop/">hadoop</a><span class="block-list-count">1</span></li><li class="block-list-item"><a class="block-list-link" href="/categories/RPC/">RPC</a><span class="block-list-count">1</span><ul class="block-list-child"><li class="block-list-item"><a class="block-list-link" href="/categories/RPC/Hadoop/">Hadoop</a><span class="block-list-count">1</span></li></ul></li><li class="block-list-item"><a class="block-list-link" href="/categories/OS/">OS</a><span class="block-list-count">1</span></li><li class="block-list-item"><a class="block-list-link" href="/categories/Hbase/">Hbase</a><span class="block-list-count">1</span></li><li class="block-list-item"><a class="block-list-link" href="/categories/Hadoop/">Hadoop</a><span class="block-list-count">2</span></li><li class="block-list-item"><a class="block-list-link" href="/categories/Git-版本管理/">Git 版本管理</a><span class="block-list-count">1</span></li><li class="block-list-item"><a class="block-list-link" href="/categories/GFW/">GFW</a><span class="block-list-count">1</span></li></ul>
    </div>
    
    <div class="sidebar__block">
        <h3 class="block__title">最新文章</h3>
        
        <ul class="block-list latest-post-list">
            
                    <li class="latest-post-item">
                        <a href="/2019/05/10/hadoopRPC/" title="hadoopRPC">
                            <div class="item__cover">
                                <img src="https://s2.ax1x.com/2019/05/10/EWAoB6.md.jpg" alt="hadoopRPC" />
                            </div>
                            <div class="item__info">
                                <h3 class="item__title">hadoopRPC</h3>
                                <span class="item__text">2019-05-10</span>
                            </div>
                        </a>
                    </li>
                
                    <li class="latest-post-item">
                        <a href="/2019/04/04/memorypaging/" title="Memory Paging">
                            <div class="item__cover">
                                <img src="https://s2.ax1x.com/2019/04/04/A2ifUO.md.jpg" alt="Memory Paging" />
                            </div>
                            <div class="item__info">
                                <h3 class="item__title">Memory Paging</h3>
                                <span class="item__text">2019-04-04</span>
                            </div>
                        </a>
                    </li>
                
                    <li class="latest-post-item">
                        <a href="/2019/03/31/DecoratorMode/" title="DecoratorMode">
                            <div class="item__cover">
                                <img src="https://s2.ax1x.com/2019/03/31/ArQrQJ.md.jpg" alt="DecoratorMode" />
                            </div>
                            <div class="item__info">
                                <h3 class="item__title">DecoratorMode</h3>
                                <span class="item__text">2019-03-31</span>
                            </div>
                        </a>
                    </li>
                
                    <li class="latest-post-item">
                        <a href="/2019/01/18/alogorithm/" title="Algorithm1">
                            <div class="item__cover">
                                <img src="https://s2.ax1x.com/2019/01/18/k9gwCD.jpg" alt="Algorithm1" />
                            </div>
                            <div class="item__info">
                                <h3 class="item__title">Algorithm1</h3>
                                <span class="item__text">2019-01-18</span>
                            </div>
                        </a>
                    </li>
                
        </ul>
    
    </div>

    <div class="sidebar__block">
        <h3 class="block__title">文章标签</h3>
        
        <ul class="block-list tag-list clearfix">
            
                    <li class="tag-item">
                        <a class="tag-link" href="/tags/Eclipse/">Eclipse</a>
                    </li>  
                
                    <li class="tag-item">
                        <a class="tag-link" href="/tags/Google-PageRank/">Google,PageRank</a>
                    </li>  
                
                    <li class="tag-item">
                        <a class="tag-link" href="/tags/Great-Firewall/">Great Firewall</a>
                    </li>  
                
                    <li class="tag-item">
                        <a class="tag-link" href="/tags/Hadoop/">Hadoop</a>
                    </li>  
                
                    <li class="tag-item">
                        <a class="tag-link" href="/tags/Hadoop部署/">Hadoop部署</a>
                    </li>  
                
                    <li class="tag-item">
                        <a class="tag-link" href="/tags/Hbase/">Hbase</a>
                    </li>  
                
                    <li class="tag-item">
                        <a class="tag-link" href="/tags/Learning/">Learning</a>
                    </li>  
                
                    <li class="tag-item">
                        <a class="tag-link" href="/tags/Life/">Life</a>
                    </li>  
                
                    <li class="tag-item">
                        <a class="tag-link" href="/tags/Map-Reduce/">Map-Reduce</a>
                    </li>  
                
                    <li class="tag-item">
                        <a class="tag-link" href="/tags/RPC/">RPC</a>
                    </li>  
                
                    <li class="tag-item">
                        <a class="tag-link" href="/tags/TCP-Socket通信/">TCP,Socket通信</a>
                    </li>  
                
                    <li class="tag-item">
                        <a class="tag-link" href="/tags/git/">git</a>
                    </li>  
                
                    <li class="tag-item">
                        <a class="tag-link" href="/tags/hadoop/">hadoop</a>
                    </li>  
                
                    <li class="tag-item">
                        <a class="tag-link" href="/tags/hobbies/">hobbies</a>
                    </li>  
                
                    <li class="tag-item">
                        <a class="tag-link" href="/tags/java/">java</a>
                    </li>  
                
                    <li class="tag-item">
                        <a class="tag-link" href="/tags/linux/">linux</a>
                    </li>  
                
                    <li class="tag-item">
                        <a class="tag-link" href="/tags/love/">love</a>
                    </li>  
                
                    <li class="tag-item">
                        <a class="tag-link" href="/tags/memory/">memory</a>
                    </li>  
                
                    <li class="tag-item">
                        <a class="tag-link" href="/tags/noSQL/">noSQL</a>
                    </li>  
                
                    <li class="tag-item">
                        <a class="tag-link" href="/tags/paging/">paging</a>
                    </li>  
                
                    <li class="tag-item">
                        <a class="tag-link" href="/tags/shadowsocks/">shadowsocks</a>
                    </li>  
                
                    <li class="tag-item">
                        <a class="tag-link" href="/tags/travel/">travel</a>
                    </li>  
                
                    <li class="tag-item">
                        <a class="tag-link" href="/tags/分支定界/">分支定界</a>
                    </li>  
                
                    <li class="tag-item">
                        <a class="tag-link" href="/tags/列式数据库/">列式数据库</a>
                    </li>  
                
                    <li class="tag-item">
                        <a class="tag-link" href="/tags/动态规划/">动态规划</a>
                    </li>  
                
                    <li class="tag-item">
                        <a class="tag-link" href="/tags/版本管理/">版本管理</a>
                    </li>  
                
                    <li class="tag-item">
                        <a class="tag-link" href="/tags/装饰器模式/">装饰器模式</a>
                    </li>  
                
                    <li class="tag-item">
                        <a class="tag-link" href="/tags/计算机网络/">计算机网络</a>
                    </li>  
                
                    <li class="tag-item">
                        <a class="tag-link" href="/tags/读取数据/">读取数据</a>
                    </li>  
                
        </ul>
    
    </div>

    <!-- <div class="sidebar__block">
        <h3 class="block__title">友情链接</h3>
        <ul class="block-list">
            
        </ul>
    </div> -->
</aside>
</main>


        
            <!-- 页脚 -->
<footer class="page__footer">
    <section class="footer__top">
        <div class="page__container footer__container">
            
            <div class="footer-top__item footer-top__item--2">
                <h3 class="item__title">关于</h3>
                <div class="item__content">
                    <p class="item__text">本站是基于 Hexo 搭建的静态资源博客，主要用于分享日常学习、生活及工作的一些心得总结，欢迎点击右下角订阅 rss。</p>
                    <ul class="footer__contact-info">
                        <li class="contact-info__item">
                            <i class="iconfont icon-address"></i>
                            <span>Dalian, Lianning Province, China</span>
                        </li>
                        <li class="contact-info__item">
                            <i class="iconfont icon-email2"></i>
                            <span>dlut.weixiang@gmail.com</span>
                        </li>
                    </ul>
                </div>
            </div>

            
            
                <div class="footer-top__item footer__image">
                    <img src="https://s1.ax1x.com/2018/08/08/PsWmg1.jpg" alt="logo" title="Space-X">
                </div>
            
            
            
            
                
                    <div class="footer-top__item">
                        <h3 class="item__title">友情链接</h3>
                        <div class="item__content">
                            <ul class="footer-top__list">
                                
                                    <li class="list-item">
                                        <a href="https://github.com/Mrminfive/hexo-theme-skapp" title="hexo-theme-skapp" target="_blank">hexo-theme-skapp</a>
                                    </li>
                                
                            </ul>
                        </div>
                    </div>
                
                    <div class="footer-top__item">
                        <h3 class="item__title">构建工具</h3>
                        <div class="item__content">
                            <ul class="footer-top__list">
                                
                                    <li class="list-item">
                                        <a href="https://hexo.io/" title="Blog Framework" target="_blank">Hexo</a>
                                    </li>
                                
                            </ul>
                        </div>
                    </div>
                
            
        </div>
    </section>
    <section class="footer__bottom">
        <div class="page__container footer__container">
            <p class="footer__copyright">©
                <a href="https://github.com/Mrminfive/hexo-theme-skapp" target="_blank">Skapp</a> 2017 powered by
                <a href="http://hexo.io/" target="_blank">Hexo</a>, made by 
                <a href="https://github.com/Mrminfive" target="_blank">minfive</a>.
            </p>
            <ul class="footer__social-network clearfix">
                
                
                    <li class="social-network__item">
                        <a href="https://github.com/spaces-x" target="_blank" title="github">
                            <i class="iconfont icon-github"></i>
                        </a>
                    </li>
                
                    <li class="social-network__item">
                        <a href="mailto:dlut.weixiang@gmail.com" target="_blank" title="email">
                            <i class="iconfont icon-email"></i>
                        </a>
                    </li>
                
                    <li class="social-network__item">
                        <a href="/atom.xml" target="_blank" title="rss">
                            <i class="iconfont icon-rss"></i>
                        </a>
                    </li>
                
                
            </ul>
        </div>
    </section>
</footer>
        

        
            <!-- 返回顶部 -->
<div id="back-top" class="back-top back-top--hidden js-hidden">
    <i class="iconfont icon-top"></i>
</div>
        
    </div>

    <!-- build:js /js/common.js -->
        <script type="text/javascript" src="js/common/utils.js"></script>
        <script type="text/javascript" src="js/common/pack.js"></script>
        <script type="text/javascript" src="js/common/animation.js"></script>
        <script type="text/javascript" src="js/layout/loading.js"></script>
        <script type="text/javascript" src="js/layout/header.js"></script>
        <script type="text/javascript" src="js/layout/back-top.js"></script>
        <script type="text/javascript" src="js/layout/post.js"></script>
    <!-- endbuild -->

    
    <script src="/js/page/post.js"></script>


    
    



    <!-- 不蒜子统计 -->

<script async src="//dn-lbstatics.qbox.me/busuanzi/2.3/busuanzi.pure.mini.js">
</script>


     








</body>
</html>